package hDOJ;

/*

2
1 2
2 4

3
30

---

贪心策略1：矩形数与长与宽无关，而与面积即最小矩形面积有关，于是只研究宽为1的情况，情况数更加好数
1 ==> 1
2 ==> 2 + 1 = 3
3 ==> 3 + 2 + 1 = 6
4 ==> 4 + 3 + 2 + 1 = 10
...
8 ==> 8*(8+1)/2 = 36
与题中给的2*4的数据的结果不相符，说明相同的面积，长与宽的不同，矩形数是不同的

---

既然我们已经研究出宽为1时的规律，那么在此基础上增加宽的长度会怎样呢
比如2*4 
口口口口
口口口口
==> 两层1*4
==> 第一行10种 + 第二行10种 + 第一行每个小矩形与正下方对应的小矩形组合成一个矩形，那么一二行看成一行，也是10种 = 30种
我们进一步总结：30 = 10 * 3 ==> 其中10为1*4所对应的矩形数，3则为2*1所对应的矩形数
于是我们可以想出下一个贪心策略
贪心策略2：m*n的矩形所对应的矩形数 == m*1的矩形所对应的矩形数 * 1*n的矩形所对应的矩形数

 */


import java.util.Scanner;

public class Main2524 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        while(t-- > 0) {
            int n = sc.nextInt();
            int m = sc.nextInt();
            int result = ((m*(m+1))/2) * ((n*(n+1))/2);
            System.out.println(result);
        }
    }

}
